]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
viewSelector: Make sure not to start searching when we only have whitespace
authorJasper St. Pierre <jstpierre@mecheye.net>
Sat, 9 Feb 2013 02:05:15 +0000 (21:05 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 14 Feb 2013 19:13:50 +0000 (14:13 -0500)
As this is thrown out before we actually query providers, we end up with
a confusing screen that says "Searching..." that won't ever get results.

https://bugzilla.gnome.org/show_bug.cgi?id=693458

js/ui/search.js
js/ui/viewSelector.js

index 96f92fa7c7521059a75caae16add1db28b4faa81..dced01c0475329505f21e6fae4e8b9da1a4ad0c6 100644 (file)
@@ -60,15 +60,6 @@ const SearchSystem = new Lang.Class({
         this.emit('search-updated', this._previousResults[i]);
     },
 
-    updateSearch: function(searchString) {
-        searchString = searchString.replace(/^\s+/g, '').replace(/\s+$/g, '');
-        if (searchString == '')
-            return;
-
-        let terms = searchString.split(/\s+/);
-        this.updateSearchResults(terms);
-    },
-
     updateSearchResults: function(terms) {
         if (!terms)
             return;
index f2da6d1837194c78a99764190cc6c61802e6066b..c925cfdae7bf78b433a2facc2c56fe5e8df2e568 100644 (file)
@@ -35,6 +35,14 @@ const FocusTrap = new Lang.Class({
     }
 });
 
+function getTermsForSearchString(searchString) {
+    searchString = searchString.replace(/^\s+/g, '').replace(/\s+$/g, '');
+    if (searchString == '')
+        return [];
+
+    let terms = searchString.split(/\s+/);
+    return terms;
+}
 
 const ViewSelector = new Lang.Class({
     Name: 'ViewSelector',
@@ -328,8 +336,10 @@ const ViewSelector = new Lang.Class({
     },
 
     _onTextChanged: function (se, prop) {
+        let terms = getTermsForSearchString(this._entry.get_text());
+
         let searchPreviouslyActive = this._searchActive;
-        this._searchActive = this._entry.get_text() != '';
+        this._searchActive = (terms.length > 0);
 
         let startSearch = this._searchActive && !searchPreviouslyActive;
         if (startSearch)
@@ -423,8 +433,10 @@ const ViewSelector = new Lang.Class({
 
     _doSearch: function () {
         this._searchTimeoutId = 0;
-        this._searchSystem.updateSearch(this._text.text);
 
+        let terms = getTermsForSearchString(this._entry.get_text());
+
+        this._searchSystem.updateSearchResults(terms);
         this._showPage(this._searchPage);
     },